package cn.rongdao.jrkabao.model.api;

import com.mifengkong.frtools.http.request.BaseResponse;
import com.mifengkong.greendao.bean.H5MechanismBean;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import cn.rongdao.jrkabao.bean.addcard.CardInfo;
import cn.rongdao.jrkabao.bean.cashadvance.CashAdvanceSuccessBean;
import cn.rongdao.jrkabao.bean.cashadvance.CashByCreditCardBean;
import cn.rongdao.jrkabao.bean.cashadvance.CashDebitBean;
import cn.rongdao.jrkabao.bean.cashadvance.CashPayPrepareBean;
import cn.rongdao.jrkabao.bean.cashadvance.CashQuotaFullBean;
import cn.rongdao.jrkabao.bean.cashadvance.CreditAndDepositCardBean;
import cn.rongdao.jrkabao.bean.cashadvance.HomeBean;
import cn.rongdao.jrkabao.bean.cashadvance.ProtocolBean;
import cn.rongdao.jrkabao.bean.cashadvance.SelectBankCardBean;
import cn.rongdao.jrkabao.bean.cashadvance.TransactionRecordBean;
import cn.rongdao.jrkabao.bean.cashcoupon.GetCashCouponBean;
import cn.rongdao.jrkabao.bean.cashcoupon.GetCouponOkNumberBean;
import cn.rongdao.jrkabao.bean.cashcoupon.SelectCashCouponBean;
import cn.rongdao.jrkabao.bean.creditcard.CreditCardBalanceBean;
import cn.rongdao.jrkabao.bean.creditcard.ShortMessageBean;
import cn.rongdao.jrkabao.bean.deposit.AccountInfoBean;
import cn.rongdao.jrkabao.bean.deposit.BillBean;
import cn.rongdao.jrkabao.bean.deposit.DepositBean;
import cn.rongdao.jrkabao.bean.deposit.GetDepositInfoBean;
import cn.rongdao.jrkabao.bean.deposit.IncomeAndExpenditureBean;
import cn.rongdao.jrkabao.bean.deposit.MyAccountBean;
import cn.rongdao.jrkabao.bean.deposit.SelectCollectionCardBean;
import cn.rongdao.jrkabao.bean.entity.FundDataBean;
import cn.rongdao.jrkabao.bean.financing.FinancingBean;
import cn.rongdao.jrkabao.bean.identify.MailAndFundVerifyDataBean;
import cn.rongdao.jrkabao.bean.identify.PettyCashBankListBean;
import cn.rongdao.jrkabao.bean.identify.SocialSecurityVerifyDataBean;
import cn.rongdao.jrkabao.bean.information.CardByToolsBean;
import cn.rongdao.jrkabao.bean.information.IdCardInfoByYituDistinguishBean;
import cn.rongdao.jrkabao.bean.information.InfoCardBean;
import cn.rongdao.jrkabao.bean.information.QuotaBean;
import cn.rongdao.jrkabao.bean.information.apply.ApplyInfoBean;
import cn.rongdao.jrkabao.bean.information.apply.OrderResultBean;
import cn.rongdao.jrkabao.bean.information.basicinfo.BasicInfoBean;
import cn.rongdao.jrkabao.bean.information.basicinfo.ContactsStatusBean;
import cn.rongdao.jrkabao.bean.loan.ApplySuccessBean;
import cn.rongdao.jrkabao.bean.loan.CreditCardLoansDateBean;
import cn.rongdao.jrkabao.bean.loan.LoanCommitBean;
import cn.rongdao.jrkabao.bean.loan.MultiPushBean;
import cn.rongdao.jrkabao.bean.login.UserBean;
import cn.rongdao.jrkabao.bean.main.ChannelBean;
import cn.rongdao.jrkabao.bean.main.MainBean;
import cn.rongdao.jrkabao.bean.main.ProductStatusBean;
import cn.rongdao.jrkabao.bean.main.banner.BannerBean;
import cn.rongdao.jrkabao.bean.main.personal.CompleteDataBean;
import cn.rongdao.jrkabao.bean.main.personal.PersonInfoBean;
import cn.rongdao.jrkabao.bean.main.personal.PersonItemInfoBean;
import cn.rongdao.jrkabao.bean.main.personal.PersonUserInfoBean;
import cn.rongdao.jrkabao.bean.main.tab.TabBean;
import cn.rongdao.jrkabao.bean.main.vip.MemberBean;
import cn.rongdao.jrkabao.bean.main.vip.VipBean;
import cn.rongdao.jrkabao.bean.main.vip.VipPurchaseRecordBean;
import cn.rongdao.jrkabao.bean.message.LoanMessageBean;
import cn.rongdao.jrkabao.bean.message.MessageBean;
import cn.rongdao.jrkabao.bean.message.MessageDetailsBean;
import cn.rongdao.jrkabao.bean.message.ReadPointBean;
import cn.rongdao.jrkabao.bean.message.SystemMessageBean;
import cn.rongdao.jrkabao.bean.message.ValidateIDCardPhotoBean;
import cn.rongdao.jrkabao.bean.remind.RemindAmountQueryBean;
import cn.rongdao.jrkabao.bean.remind.RemindBean;
import cn.rongdao.jrkabao.bean.remind.RemindBillBean;
import cn.rongdao.jrkabao.bean.remind.RemindExportBillBean;
import cn.rongdao.jrkabao.bean.remind.RemindMailListBean;
import cn.rongdao.jrkabao.bean.setting.AboutUsBean;
import cn.rongdao.jrkabao.bean.setting.VersionBean;
import cn.rongdao.jrkabao.bean.takephoto.BankCardOCRBean;
import cn.rongdao.jrkabao.bean.takephoto.CashValidataTipBean;
import cn.rongdao.jrkabao.bean.takephoto.IdCardAndCheckIdentifyBean;
import cn.rongdao.jrkabao.bean.takephoto.IdentifySwitchBean;
import cn.rongdao.jrkabao.bean.takephoto.OtherImageDataBean;
import cn.rongdao.jrkabao.bean.takephoto.ValidateIDCardInfoBean;
import cn.rongdao.jrkabao.bean.takephoto.ValidateIDCardInfoByYiTuBean;
import cn.rongdao.jrkabao.bean.takephoto.YituPhotoStorageBean;
import io.reactivex.Observable;
import retrofit2.http.FieldMap;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;

/**
 * Created by jack on 17/5/5
 */

public interface FRApi {

    @FormUrlEncoded
    @POST("Product/getJianRongEmailAndEbankList")
    Observable<BaseResponse<List<PettyCashBankListBean>>> getCardAndOnlineBanksData(@FieldMap Map<String, Object> map);

    @FormUrlEncoded
    @POST("Bank/getcity")
    Observable<String> getCityInfo(@FieldMap Map<String, Object> map);   //获取城市数据

    @FormUrlEncoded
    @POST("Xinsudai/billVerificationV2")
    Observable<BaseResponse<MailAndFundVerifyDataBean>> getCardAndOnlineBanksResult(@FieldMap Map<String, Object> map);

    @FormUrlEncoded
    @POST("User/sendSms")
    Observable<BaseResponse<String>> getPhoneCode(@FieldMap Map<String, Object> map);//获取验证码

    @FormUrlEncoded
    @POST("Xinsudai/getLoanAmontAndPeriod")
    Observable<BaseResponse<LoanCommitBean>> getLoanCommitData(@FieldMap Map<String, Object> map);//选择期数和填写额度界面

    @FormUrlEncoded
    @POST("User/getUserIdentityInfo")
    Observable<BaseResponse<ValidateIDCardInfoBean>> getIdCardNameAndNumber(@FieldMap Map<String, Object> map);//获取用户的身份信息

    @FormUrlEncoded
    @POST("UserProfile/getIdPhoto")
    Observable<BaseResponse<ValidateIDCardPhotoBean>> getIdCardPhoto(@FieldMap Map<String, Object> map);//获取用户的身份证照片

    @FormUrlEncoded
    @POST("UserProfile/getIdInfoFromYiTu")
    Observable<BaseResponse<ValidateIDCardInfoByYiTuBean>> getIdCardNameAndNumberFromYiTu(@FieldMap Map<String, Object> map);//从依图获取身份信息

    @FormUrlEncoded
    @POST("UserProfile/checkUserProfileComplete")
    Observable<BaseResponse<String>> checkUserIdCardInfoPerfectState(@FieldMap Map<String, Object> map);//判断用户的身份证照片和信息是否都完整

    @FormUrlEncoded
    @POST("UserProfile/addIdPhoto")
    Observable<BaseResponse<IdCardInfoByYituDistinguishBean>> addUserIdCardObversePhoto(@FieldMap Map<String, Object> map);//上传身份证正面照片

    @FormUrlEncoded
    @POST("UserProfile/addIdPhoto")
    Observable<BaseResponse<String>> addUserIdCardPhoto(@FieldMap Map<String, Object> map);//上传身份证照片

    @FormUrlEncoded
    @POST("UserProfile/facePairBefore")
    Observable<BaseResponse<YituPhotoStorageBean>> saveYituPhoto(@FieldMap Map<String, Object> map);//存储依图的活体检测照片

    @FormUrlEncoded
    @POST("User/editUserIdentityInfo")
    Observable<BaseResponse<String>> edituserIndentificationInfo(@FieldMap Map<String, Object> map);//保存用户的身份信息

    @FormUrlEncoded
    @POST("Organization/materialInCheck")
    Observable<BaseResponse<String>> sendVerificateTypeToServerModel(@FieldMap Map<String, Object> params);//告诉服务器当前验证的是哪项数据

    @FormUrlEncoded
    @POST("Xinsudai/getProfileCompleteStatus")
    Observable<BaseResponse<ApplyInfoBean>> getApplyInfoData(@FieldMap Map<String, Object> params);//获取用户所需资料界面的列表数据

    @FormUrlEncoded
    @POST("Xinsudai/getIndexV2")
    Observable<BaseResponse<MainBean>> getMainInfo(@FieldMap Map<String, Object> map);    //获取首页数据

    @FormUrlEncoded
    @POST("Product/getUserOtherProfileList")
    Observable<BaseResponse<List<OtherImageDataBean>>> otherImageFileGetList(@FieldMap Map<String, Object> params);//获取用户资产证明的列表

    @FormUrlEncoded
    @POST("Product/uploadUserOtherProfile")
    Observable<BaseResponse<String>> otherImageFileAddPhoto(@FieldMap Map<String, Object> params);//上传用户资产证明照片

    @FormUrlEncoded
    @POST("ZhiMa/zhiMaAuthInfoAuth")
    Observable<BaseResponse<String>> getZhiMaUrl(@FieldMap Map<String, Object> params);//上传用户资产证明照片

    @FormUrlEncoded
    @POST("CardInfo/fetchData")
    Observable<BaseResponse<CardByToolsBean>> getCardInfoByCardNumber(@FieldMap Map<String, Object> params);//根据卡号获取银行卡的开户行

    @FormUrlEncoded
    @POST("UserProfile/cartList")
    Observable<BaseResponse<List<InfoCardBean>>> getCardInfo(@FieldMap Map<String, Object> params);//获取用户已经填写的银行卡号

    @FormUrlEncoded
    @POST("UserProfile/addDepositCart")
    Observable<BaseResponse<String>> addCardinfo(@FieldMap Map<String, Object> params);//根据卡号获取银行卡的开户行

    @FormUrlEncoded
    @POST("Common/getArea")
    Observable<String> getBasicInfoAreaData(@FieldMap Map<String, Object> params);//获取基本信息里面的城市数据

    @FormUrlEncoded
    @POST("Jianrong/getUserPerProfile")
    Observable<BaseResponse<List<List<BasicInfoBean>>>> getBasicInfoListData(@FieldMap Map<String, Object> params);//获取用户所需要填写的基本信息

    @FormUrlEncoded
    @POST("AddressList/userIsHaveTelList")
    Observable<BaseResponse<ContactsStatusBean>> getContactsStatus(@FieldMap Map<String, Object> params);//获取用户上传联系人的状态

    @FormUrlEncoded
    @POST("User/editUserProfile")
    Observable<BaseResponse<String>> storeBasicInfoModel(@FieldMap Map<String, Object> params);//保存用户基本信息

    @FormUrlEncoded
    @POST("AddressList/adds")
    Observable<BaseResponse<String>> uploadContactsData(@FieldMap Map<String, Object> params);//获取用户上传联系人的状态

    @FormUrlEncoded
    @POST("Xinsudai/loanRequest")
    Observable<BaseResponse<OrderResultBean>> applyLoan(@FieldMap Map<String, Object> params);//提交申请

    @FormUrlEncoded
    @POST("Config/getMineList")
    Observable<BaseResponse<ArrayList<PersonItemInfoBean>>> getPersonItemInfo(@FieldMap Map<String, Object> params);//获取我的界面order

    @FormUrlEncoded
    @POST("Orders/ordersCountAboutUser")
    Observable<BaseResponse<PersonUserInfoBean>> getPersonUserInfo(@FieldMap Map<String, Object> params);//获取我的界面用户信息

    @FormUrlEncoded
    @POST("Product/getPublicFundAmount")
    Observable<BaseResponse<FundDataBean>> getPublicFundData(@FieldMap Map<String, Object> params);//获取公积金的额度

    @FormUrlEncoded
    @POST("Additional/getRollbackMessage")
    Observable<BaseResponse<List<LoanMessageBean>>> getMessageData(@FieldMap Map<String, Object> params);//获取我的消息


    @FormUrlEncoded
    @POST("Additional/editIdPhotoStatus")
    Observable<BaseResponse<String>> sendStatusForMessageReback(@FieldMap Map<String, Object> params);//消息会退  上传成功

    @FormUrlEncoded
    @POST("User/storeUserCoordinate")
    Observable<BaseResponse<String>> sendLocation(@FieldMap Map<String, Object> params);//我的可贷额度界面的数据获取

    @FormUrlEncoded
    @POST("Xinsudai/getTextInformation")
    Observable<BaseResponse<ApplySuccessBean>> getVerifyStatusListData(@FieldMap Map<String, Object> params);//获取验证结果后的不同跳转页面的数据

    @FormUrlEncoded
    @POST("Xinsudai/getSuccessOrderData")
    Observable<BaseResponse<ApplySuccessBean>> getApplySuccessData(@FieldMap Map<String, Object> params);//获取申请成功页面的产品推荐列表

    @FormUrlEncoded
    @POST("Jianrong/addBankUnion")
    Observable<BaseResponse<String>> addCridetCardNumber(@FieldMap Map<String, Object> params);//获取申请成功页面的产品推荐列表

    @FormUrlEncoded
    @POST("Adv/getBanner")
    Observable<BaseResponse<List<BannerBean>>> getBannerData(@FieldMap Map<String, Object> params);//获取banner

    @FormUrlEncoded
    @POST("Additional/getCustomerPhone")
    Observable<BaseResponse<String>> getCustomerServiceTel(@FieldMap Map<String, Object> params);//获取客服电话

    @FormUrlEncoded
    @POST("Config/getTabbarList")
    Observable<BaseResponse<List<TabBean>>> getTab(@FieldMap Map<String, Object> params);//获取Tab

    @FormUrlEncoded
    @POST("Jianrong/isApplyProduct")
    Observable<BaseResponse<ProductStatusBean>> getProductStatus(@FieldMap Map<String, Object> params);//获取这个产品的跳转状态

    @FormUrlEncoded
    @POST("Config/getVerificationCodeConfig")
    Observable<BaseResponse<String>> getYiDunConfig(@FieldMap Map<String, Object> params);//获取网易易盾验证码的配置参数

    @FormUrlEncoded
    @POST("Xinsudai/estimatedRepayment")
    Observable<BaseResponse<String>> getRepayAmount(@FieldMap Map<String, Object> params);//根据金额和期数获取还款金额

    @FormUrlEncoded
    @POST("Xinsudai/loanList")
    Observable<BaseResponse<List<MultiPushBean>>> getMultiPushListData(@FieldMap Map<String, Object> params);//根据金额和期数获取还款金额


    @FormUrlEncoded
    @POST("Xinsudai/loanAmountAndDataValidation")
    Observable<BaseResponse<QuotaBean>> getUserQuoteData(@FieldMap Map<String, Object> params);//获取用户的额度

    @FormUrlEncoded
    @POST("Xinsudai/getLoanAmountAndPeriodNew")
    Observable<BaseResponse<CreditCardLoansDateBean>> getLoanAmountAndPeriodNew(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Xinsudai/estimatedRepayment")
    Observable<BaseResponse<String>> getEstimatedRepayment(@FieldMap Map<String, Object> params);//获取用户的还款金额

    @FormUrlEncoded
    @POST("Xinsudai/getUserProfileStatus")
    Observable<BaseResponse<SocialSecurityVerifyDataBean>> getSocialSecurityVerifyData(@FieldMap Map<String, Object> map);//社保验证后的轮询


    @FormUrlEncoded
    @POST("Xinsudai/riseAmount")
    Observable<BaseResponse<ApplyInfoBean>> getMyOwnLoanIncreaseAmountBean(@FieldMap Map<String, Object> map);//米粒贷贴接口

    @FormUrlEncoded
    @POST("Xinsudai/deleteUserData")
    Observable<BaseResponse<String>> deleteUserInfo(@FieldMap Map<String, Object> map);//删除用户的所有信息

    @FormUrlEncoded
    @POST("Organization/getJavaScriptList")
    Observable<BaseResponse<List<H5MechanismBean>>> getJavaScriptList(@FieldMap Map<String, Object> map);//获取所有设置过JS的机构，返回机构ID、javascript脚本

    @FormUrlEncoded
    @POST("Organization/saveWebviewUser")
    Observable<BaseResponse<String>> setH5UserInfo2Server(@FieldMap Map<String, Object> map);//保存webview获取到的用户信息

    @FormUrlEncoded
    @POST("User/getChannelData")
    Observable<BaseResponse<ChannelBean>> getChannel(@FieldMap Map<String, Object> map);//获取channel信息


    ////////////////////////////////////////////////////////////卡猫取现////////////////////////////////////////////////////////////


    @FormUrlEncoded
    @POST("Cash/getTradeLogByMonth")
    Observable<BaseResponse<TransactionRecordBean>> getTransRecord(@FieldMap Map<String, Object> params);//获取交易记录

    @FormUrlEncoded
    @POST("Cash/getBankListAndIcon")
    Observable<BaseResponse<List<SelectBankCardBean>>> getBankList(@FieldMap Map<String, Object> params);    //获取银行列表

    @FormUrlEncoded
    @POST("Cash/getCreditCardList")
    Observable<BaseResponse<List<CreditAndDepositCardBean>>> getCreditList(@FieldMap Map<String, Object> params);//获取信用卡列表

    @FormUrlEncoded
    @POST("Cash/getBankCardList")
    Observable<BaseResponse<List<CreditAndDepositCardBean>>> getSavingsList(@FieldMap Map<String, Object> params);//获取储蓄卡列表

    @FormUrlEncoded
    @POST("Cash/setDefaultCreditCard")
    Observable<BaseResponse<String>> setDefaultCreditCard(@FieldMap Map<String, Object> params);//设置信用卡主卡

    @FormUrlEncoded
    @POST("Cash/setDefaultBankCard")
    Observable<BaseResponse<String>> setDefaultDepositCard(@FieldMap Map<String, Object> params);//设置储蓄卡主卡

    @FormUrlEncoded
    @POST("Cash/deleteCreditCard")
    Observable<BaseResponse<String>> deleteCreditCard(@FieldMap Map<String, Object> params);//删除信用卡

    @FormUrlEncoded
    @POST("Cash/deleteBankCard")
    Observable<BaseResponse<String>> deleteDepositCard(@FieldMap Map<String, Object> params);//删除储蓄卡

    @FormUrlEncoded
    @POST("Cash/getBankInfo")
    Observable<BaseResponse<CardInfo>> getCardInfoForCash(@FieldMap Map<String, Object> params);//根据卡号获取银行和ICON

    @FormUrlEncoded
    @POST("Cash/getPackageVersionIndex")
    Observable<BaseResponse<HomeBean>> getCashAdvanceList(@FieldMap Map<String, Object> params);//获取首页信息

    @FormUrlEncoded
    @POST("Cash/sendVerify")
    Observable<BaseResponse<String>> sendCashVerifyCode(@FieldMap Map<String, Object> params);//刷卡取现中的获取验证码

    @FormUrlEncoded
    @POST("Cash/getDefaultCreditCard")
    Observable<BaseResponse<CashByCreditCardBean>> getDefaultCreditCard(@FieldMap Map<String, Object> params);//获得用户默认信用卡

    @FormUrlEncoded
    @POST("Cash/createOrder390")
    Observable<BaseResponse<CashPayPrepareBean>> getCashPrepareData(@FieldMap Map<String, Object> params);//获取去支付页面的数据

    @FormUrlEncoded
    @POST("Cash/addBankCard")
    Observable<BaseResponse<String>> addDepositCardForCash(@FieldMap Map<String, Object> params);//保存储蓄卡

    @FormUrlEncoded
    @POST("Cash/addCreditCard")
    Observable<BaseResponse<String>> addCreditCardForCash(@FieldMap Map<String, Object> params);//保存信用卡

    @FormUrlEncoded
    @POST("Cash/orderSuccess")
    Observable<BaseResponse<CashAdvanceSuccessBean>> getCashSuccessInfoData(@FieldMap Map<String, Object> params);//获取取现成功页面的数据

    @FormUrlEncoded
    @POST("Cash/uploadtPhotoTip")
    Observable<BaseResponse<List<CashValidataTipBean>>> getCashValidataTipData(@FieldMap Map<String, Object> params);  //上传身份证照片的提示文字

    @FormUrlEncoded
    @POST("Cash/webView")
    Observable<BaseResponse<String>> getWebViewMessage(@FieldMap Map<String, Object> params);  //webView中js抓取信息

    @FormUrlEncoded
    @POST("Cash/insertUser")
    Observable<BaseResponse<String>> insertUser(@FieldMap Map<String, Object> params);    //插入用户信息

    @FormUrlEncoded
    @POST("Invitation/getAccountInfo")
    Observable<BaseResponse<GetDepositInfoBean>> getDepositInfo(@FieldMap Map<String, Object> params);    //

    @FormUrlEncoded
    @POST("UserProfile/getMineInfo")
    Observable<BaseResponse<AccountInfoBean>> getUserBalance(@FieldMap Map<String, Object> params);    //查看账户余额

    @FormUrlEncoded
    @POST("Invitation/myAccountInfo")
    Observable<BaseResponse<MyAccountBean>> getMyAccountInfo(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Invitation/selectCard")
    Observable<BaseResponse<List<SelectCollectionCardBean>>> selectCollectionCard(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Invitation/getUserFlowInfo")
    Observable<BaseResponse<BillBean>> getBill(@FieldMap Map<String, Object> params);   //获取月账单

    @FormUrlEncoded
    @POST("Invitation/incomeInfo")
    Observable<BaseResponse<List<IncomeAndExpenditureBean>>> getIncomeInfo(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Invitation/outcomeInfo")
    Observable<BaseResponse<List<IncomeAndExpenditureBean>>> getOutCome(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Invitation/accountOutcome")
    Observable<BaseResponse<DepositBean>> goDeposit(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Invitation/getInfoByFlow")
    Observable<BaseResponse<CashAdvanceSuccessBean>> depositSuccess(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Invitation/bindBankCard")
    Observable<BaseResponse<String>> bindBankCard(@FieldMap Map<String, Object> params);     //绑卡接口

    @FormUrlEncoded
    @POST("Invitation/selectCardFromKamao")
    Observable<BaseResponse<List<Void>>> selectCardFromKamao(@FieldMap Map<String, Object> params);      //提现选择银行卡

    @FormUrlEncoded
    @POST("Coupon/getCoupon")
    Observable<BaseResponse<List<GetCashCouponBean>>> getCoupon(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Coupon/getValidCoupon")
    Observable<BaseResponse<SelectCashCouponBean>> getValidCoupon(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Message/myMessage")
    Observable<BaseResponse<List<MessageBean>>> getMyMessage(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/indexRedPoint")
    Observable<BaseResponse<ReadPointBean>> getReadPoint(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Message/getAdMessage")
    Observable<BaseResponse<List<SystemMessageBean>>> getNoticeMessage(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Message/getSysMessage")
    Observable<BaseResponse<List<SystemMessageBean>>> getSystemMessage(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Message/messageDetail")
    Observable<BaseResponse<MessageDetailsBean>> getMessageDetails(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/creditCardList")
    Observable<BaseResponse<RemindBean>> getRemindList(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Share/appBankList")
    Observable<BaseResponse<List<CreditCardBalanceBean>>> getCreditCardList(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/addOrUpdateCreditCard")
    Observable<BaseResponse<String>> saveCreditRemind(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Financial/getFinancialByPage")
    Observable<BaseResponse<FinancingBean>> getFinancialByPage(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/credtiCardDetail")
    Observable<BaseResponse<RemindBean.RemindBankList>> getRemindDetails(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/billRemindSwitch")
    Observable<BaseResponse<String>> remindSwitch(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/deleteRemind")
    Observable<BaseResponse<String>> deleteRemindCard(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/editCreditCard")
    Observable<BaseResponse<RemindBean.RemindBankList>> getEditCreditCard(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/getEmailList")
    Observable<BaseResponse<List<RemindMailListBean>>> getRemindMailList(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Remind/creditCardServiceList")
    Observable<BaseResponse<List<RemindMailListBean>>> getServiceListData(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Share/shortMessageTemplate")
    Observable<BaseResponse<ShortMessageBean>> getShortMessageTemplate(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/checkUpdate")
    Observable<BaseResponse<VersionBean>> getVersionInfo(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Coupon/getCouponOkNumber")
    Observable<BaseResponse<GetCouponOkNumberBean>> getCouponOkNumber(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/getAllPassWay")
    Observable<BaseResponse<List<CashByCreditCardBean.PassWay>>> getAllPassWay(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/bindPayValidateCode")
    Observable<BaseResponse<String>> bindPayGetValidateCode(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/helibaoFirstDebit")
    Observable<BaseResponse<String>> heLiBaoFirstDebit(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/debit")
    Observable<BaseResponse<CashDebitBean>> debit(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("Cash/checkOrderStatus")
    Observable<BaseResponse<CashQuotaFullBean>> quotaFull(@FieldMap Map<String, Object> params);

    @FormUrlEncoded
    @POST("UserProfile/facePairVerify")
    Observable<BaseResponse<String>> kaMaoSaveYituPhoto(@FieldMap Map<String, Object> map);   //卡猫存储依图的活体检测照片

    @FormUrlEncoded
    @POST("Config/aboutKamao")
    Observable<BaseResponse<List<AboutUsBean>>> getAboutUsData(@FieldMap Map<String, Object> map);   //卡猫关于我们

    @FormUrlEncoded
    @POST("Remind/exportBill")
    Observable<BaseResponse<RemindExportBillBean>> exportBill(@FieldMap Map<String, Object> params);   //卡猫轮询魔蝎

    @FormUrlEncoded
    @POST("Remind/amountQuery")
    Observable<BaseResponse<RemindAmountQueryBean>> amountQuery(@FieldMap Map<String, Object> params);   //查余额

    @FormUrlEncoded
    @POST("Remind/changeRepayStatus")
    Observable<BaseResponse<String>> changeRepayStatus(@FieldMap Map<String, Object> params);   //更改还款状态

    @FormUrlEncoded
    @POST("Remind/creditCardBills")
    Observable<BaseResponse<List<RemindBillBean>>> creditCardBills(@FieldMap Map<String, Object> params);   //信用卡账单列表

    @FormUrlEncoded
    @POST("Remind/creditCardBillsDetail")
    Observable<BaseResponse<List<RemindBillBean>>> creditCardBillsDetail(@FieldMap Map<String, Object> params);   //信用卡账单详情

    @FormUrlEncoded
    @POST("UserProfile/getPersonInfo")
    Observable<BaseResponse<PersonInfoBean>> getPersonInfo(@FieldMap Map<String, Object> params);   //获取个人信息

    @FormUrlEncoded
    @POST("UserProfile/uploadUserLogo")
    Observable<BaseResponse<String>> uploadUserLogo(@FieldMap Map<String, Object> params);   //上传头像

    @FormUrlEncoded
    @POST("Cash/showProtocol")
    Observable<BaseResponse<ProtocolBean>> showProtocol(@FieldMap Map<String, Object> params);   //生成协议接口

    @FormUrlEncoded
    @POST("UserProfile/addIdPhoto")
    Observable<BaseResponse<IdCardInfoByYituDistinguishBean>> addIdPhoto(@FieldMap Map<String, Object> params);   //上传照片接口

    @FormUrlEncoded
    @POST("UserProfile/getIdInfoFromYitu")
    Observable<BaseResponse<ValidateIDCardInfoByYiTuBean>> getUserIdInfo(@FieldMap Map<String, Object> params);   //获取身份证信息

    @FormUrlEncoded
    @POST("UserProfile/getIdentitySwitch")
    Observable<BaseResponse<IdentifySwitchBean>> getIdentitySwitch(@FieldMap Map<String, Object> params);   //获取照片开关

    @FormUrlEncoded
    @POST("Vip/getPurchaseList")
    Observable<BaseResponse<List<VipPurchaseRecordBean>>> getPurchaseList(@FieldMap Map<String, Object> params);   //获取购买VIP记录

    @FormUrlEncoded
    @POST("Vip/getVipConfig")
    Observable<BaseResponse<MemberBean>> getVipConfig(@FieldMap Map<String, Object> params);   //获取VIP套餐列表

    @FormUrlEncoded
    @POST("Vip/setOrderMessage")
    Observable<BaseResponse<VipBean>> setOrderMessage(@FieldMap Map<String, Object> params);   //卡猫vip下单 生成去支付订单

    @FormUrlEncoded
    @POST("Cash/sendTaskCoupon")
    Observable<BaseResponse<HomeBean.PopUpInfoBean>> sendTaskCoupon(@FieldMap Map<String, Object> params);   //完成新手任务发放优惠券

    @FormUrlEncoded
    @POST("UserProfile/bankCardOCR")
    Observable<BaseResponse<BankCardOCRBean>> bankCardOCR(@FieldMap Map<String, Object> params);   //银行卡OCR识别

    @FormUrlEncoded
    @POST("UserProfile/dataComplete")
    Observable<BaseResponse<List<CompleteDataBean>>> dataComplete(@FieldMap Map<String, Object> params);   //认证资料补全

    @FormUrlEncoded
    @POST("User/loginByPassword")
    Observable<BaseResponse<UserBean>> getLoginInfo(@FieldMap Map<String, Object> map);    //卡猫登录

    @FormUrlEncoded
    @POST("User/setPassword")
    Observable<BaseResponse<UserBean>> setPassword(@FieldMap Map<String, Object> map);    //卡猫注册/设置密码/忘记密码

    @FormUrlEncoded
    @POST("User/checkValidateCode")
    Observable<BaseResponse<String>> checkVerifyInfo(@FieldMap Map<String, Object> map);    //卡猫校验验证码

    @FormUrlEncoded
    @POST("User/changePassword")
    Observable<BaseResponse<String>> changePassword(@FieldMap Map<String, Object> map);    //卡猫修改密码

    @FormUrlEncoded
    @POST("User/isCodeNecessary")
    Observable<BaseResponse<String>> isCodeNecessary(@FieldMap Map<String, Object> map);    //卡猫邀请码是否必填

    @FormUrlEncoded
    @POST("UserProfile/ocrIdCard")
    Observable<BaseResponse<IdCardInfoByYituDistinguishBean>> ocrIdCard(@FieldMap Map<String, Object> map);    //卡猫身份证照片OCR

    @FormUrlEncoded
    @POST("UserProfile/editAndAddPhoto")
    Observable<BaseResponse<IdCardAndCheckIdentifyBean>> editAndAddPhoto(@FieldMap Map<String, Object> map);    //卡猫上传身份证照片并确认身份信息

    @FormUrlEncoded
    @POST("Invitation/changeBankCard")
    Observable<BaseResponse<String>> changeBankCard(@FieldMap Map<String, Object> map);    //卡猫虚拟账户换卡
}